perm filename RANFIL.MAC[2,LCS] blob
sn#153765 filedate 1975-04-04 generic text, type T, neo UTF8
00010 ;****** CONTAINS RAND, RNDINT, ENDSUB, IFLE, OFLE 7/74 *****
00055
00077 ; IFLE REPLACES CALL IFILE! OFLE REPLACES OFILE. TOM DINGER -- COLGATE
00088 ;CALL IFLE(DEV,NAME,N) N='.' MEANS NAME WITH NO EXT.
00094 ; N=' ' MEANS .DAT EXTENSION. N='.NAM' SETS YOUR EXT.
00194 ;CALL OFLE(DEV,NAME,N) -- SAME AS ABOVE, BUT FOR OUTPUT.
02010 TITLE FILIO
02043 ENTRY IFLE
02076 .DEV.: Z
02109 .FNAM.: Z
02142 Z
02175 IFLE: Z
02208 MOVE @(16)
02241 MOVEM .DEV.
02274 MOVE @1(16)
02307 MOVEM .FNAM.
02340 MOVE @2(16)
02373 MOVEM .FNAM.+1
02406 JSA 16,IFILE##
02439 JUMP 0,.DEV.
02472 JUMP 6,.FNAM.
02505 JRA 16,(16)
02538
02571 ENTRY OFLE
02604 OFLE: Z
02637 MOVE @(16)
02670 MOVEM .DEV.
02703 MOVE @1(16)
02736 MOVEM .FNAM.
02769 MOVE @2(16)
02802 MOVEM .FNAM.+1
02835 JSA 16,OFILE##
02868 JUMP 0,.DEV.
02901 JUMP 6,.FNAM.
02934 JRA 16,(16)
02967
03000 ;FORTRAN CALLABLE RANDOM NUMBER GENERATOR
03100 ;
03200 ;USE CALL RNDINT TO INITIALIZE THE GENERATOR
03300 ; (THE GENERATOR IS LOADED INITIALIZED)
03400 ;USE RAND(XL,XH) AS A FUNCTION TO RETURN THE NEXT
03500 ; RANDOM NUMBER BETWEEN XL AND XH
03600 ; (XL,XH ARE FLOATING POINT,RAND RETURNS
03700 ; FLOATING POINT)
03800 ;
03900 ;CALL ENDSUB CLEARS CONTROL O
04000 ENTRY RNDINT
04100 RNDINT: 0
04200 MOVE 0,[756132257563]
04300 MOVEM 0,R1
04400 ADDI 0,2
04500 MOVEM 0,R2
04600 JRA 16,0(16)
04700 R1: 756132257563
04800 R2: 756132257565
04900 ENTRY RAND
05000 RAND: 0
05100 MOVEM 1,TEMP
05200 MOVE 0,@0(16)
05300 MOVE 1,@1(16)
05400 FSBR 1,0
05500 MOVEM 0,LLIM#
05600 MOVE 0,R1
05700 ADD 0,R2
05800 EXCH 0,R2
05900 MOVEM 0,R1
06000 LSH 0,-11
06100 FSC 0,200
06200 FMP 0,1
06300 FAD 0,LLIM
06400 MOVE 1,TEMP
06500 JRA 16,2(16)
06600 ENTRY ENDSUB
06700 ENDSUB: 0
06800 SKPINC
06900 JFCL
07000 JRA 16,(16)
07100 TEMP: 0
07200 END